// cnpm init --yes  初始化
// cnpm i express 安装express
// cnpm install -g nodemon 自动重启工具安装

// 1.引入express
const express = require('express')

// 2.创建应用对象
const app = express()

// 3.创建路由规则
// request, 是对请求报文的封装
// response 是对响应报文的封装

app.get('/home', (request, response) => {
  // 响应一个页面
  response.sendFile(__dirname + '/1.html')
})

app.get('/data', (request, response) => {
    response.send('user data')
})

app.all('/jsonp', (request, response) => {
  // response.send('console.log("hello jsonp")')
  const data = {
    name: 'asd'
  }
  let str = JSON.stringify(data)
  //返回结果
  response.end(`handle(${str})`)
})



// 用户名检测是否存在
app.all('/checkname', (request, response) => {

  const data = {
    exist: 1,
    msg: '用户名已经存在'
  }
  let str = JSON.stringify(data)
  //返回结果
  response.end(`handle(${str})`)
})



// jq jsonp
app.all('/jqjsonp', (request, response) => {

  const data = {
    name: '张三',
    city: ['北京', '上海', '深圳']
  }
  let str = JSON.stringify(data)

  // 接收callback参数
  let cb = request.query.callback

  //返回结果
  response.end(`${cb}(${str})`)
})


// cors 
app.all('/cors', (request, response) => {

  // 解决跨域
  response.setHeader('Access-Control-Allow-Origin', '*')
  // response.setHeader('Access-Control-Allow-Origin', 'http://127.0.0.1:9000') //只在这个端口好用

  // 头信息可以自定义
  response.setHeader('Access-Control-Allow-Headers', '*')
  response.setHeader('Access-Control-Allow-Method', '*')
  response.send('hello cors')
})


//4. 监听端口启动服务
app.listen(9000, () => {
  console.log('服务已经启动,9000端口监听中')
})

// node express基本使用.js 开启

